package im.youni.horus.core.recoder;

import im.youni.horus.core.common.buffer.IntBuf;

public abstract class Recorder {

    protected Recorder() {
    }

    public abstract boolean hasRecord();

    /**
     * 记录耗时
     * @param time
     */
    public abstract void record(int time);

    /**
     * 记录错误次数
     */
    public abstract void error();

    /**
     * 填充IntBuff
     * @param intBuf
     */
    public abstract long fillStroge(IntBuf intBuf);

    /**
     * 获取有效的记录的个数
     */
    public abstract int getDiffCount();

    /**
     * 获取错误记录数
     * @return
     */
    public abstract int getErrorCount();

    /**
     * 重置数据记录
     */
    public abstract void resetRecord();

}
